package com.enjoyor.soa.traffic.api.service.dubbo.tpcms;

import java.util.List;

import com.enjoyor.soa.traffic.api.dto.tpcms.InfoWhiteListDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 白名单车辆接口
 * 
 * @author zsy 2018年5月2日
 *
 */
public interface IDubboWhiteListService {

    /**
     * 获取白名单车辆分页列表
     * 
     * @param page
     * @return
     */
    @SuppressWarnings("rawtypes")
    public ResultPojo getWhiteListPage(Page page);

    /**
     * 获取白名单车辆列表
     * 
     * @param whiteListId
     *            白名单车辆ID
     * @param licenseNumber
     *            白名单车辆牌照
     * @param licenseTypeId
     *            牌照类型
     * @param vehicleTypeId
     *            车辆类型
     * @param funTypeId
     * @param vehicleDept
     * @return
     */
    public ResultPojo getWhiteListList(String whiteListId, String licenseNumber, String licenseTypeId,
            String vehicleTypeId, String funTypeId, String vehicleDept);

    /**
     * 新增白名单车辆
     * 
     * @param infoWhiteList
     * @param userName
     * @return
     */
    public ResultPojo insertWhiteList(InfoWhiteListDto infoWhiteList, String userName);

    /**
     * 修改白名单车辆
     * 
     * @param infoWhiteList
     * @param userName
     */
    public ResultPojo editWhiteList(InfoWhiteListDto infoWhiteList, String userName);

    /**
     * 删除白名单车辆
     * 
     * @param whiteListId
     * @param userName
     */
    public ResultPojo deleteWhiteList(String whiteListId, String userName);

    /**
     * 批量导入白名单车辆
     * 
     * @param whiteLists
     * @param userName
     */
    public ResultPojo insertBatch(List<InfoWhiteListDto> whiteLists, String userName);
}
